type alias {{classname}} =
    { {{#allVars}}{{^-first}}    , {{/-first}}{{name}} : {{^required}}{{^isNullable}}Maybe ({{/isNullable}}{{/required}}{{>recordFieldType}}{{^required}}{{^isNullable}}){{/isNullable}}{{/required}}
{{/allVars}}    }
{{#vars}}
{{#isEnum}}


{{>customType}}
{{/isEnum}}
{{/vars}}


{{>recordDecoder}}


{{>recordEncoder}}


toString : {{classname}} -> String
toString =
    Encode.encode 0 << encode


{{#vars}}
{{#isEnum}}


{{>customTypeDecoder}}


{{>customTypeEncoder}}
{{/isEnum}}
{{/vars}}
